import { VantComponent } from "../common/component";
VantComponent({
	classes: ["bar-class", "price-class", "button-class"],
	props: {
		tip: {
			type: null,
			observer: "updateTip"
		},
		tipIcon: String,
		type: Number,
		price: {
			type: null,
			observer: "updatePrice"
		},
		label: String,
		loading: Boolean,
		disabled: Boolean,
		buttonText: String,
		currency: {
			type: String,
			value: "¥"
		},
		buttonType: {
			type: String,
			value: "danger"
		},
		decimalLength: {
			type: Number,
			value: 2,
			observer: "updatePrice"
		},
		suffixLabel: String,
		safeAreaInsetBottom: {
			type: Boolean,
			value: true
		}
	},
	methods: {
		updatePrice() {
			const { price, decimalLength } = this.data;
			const priceStrArr = typeof price === "number" && (price / 100).toFixed(decimalLength).split(".");
			this.setData({
				hasPrice: typeof price === "number",
				integerStr: priceStrArr && priceStrArr[0],
				decimalStr: decimalLength && priceStrArr ? `.${priceStrArr[1]}` : ""
			});
		},
		updateTip() {
			this.setData({ hasTip: typeof this.data.tip === "string" });
		},
		onSubmit(event) {
			this.$emit("submit", event.detail);
		}
	}
});
